package model

import (
	"gorm.io/gorm"
	"time"
)

type Customer struct {
	Id         uint           `gorm:"column:id;type:bigint(20) UNSIGNED;comment:id;primaryKey;not null;" json:"id"`  // id
	FormUserId uint           `gorm:"column:form_user_id;type:bigint(20);comment:发送方;not null;" json:"form_user_id"` // 发送方
	ToUserId   uint           `gorm:"column:to_user_id;type:bigint(20);comment:接收方;not null;" json:"to_user_id"`     // 接收方
	RoomId     uint           `gorm:"column:room_id;type:bigint(20);comment:聊天室;not null;" json:"room_id"`           // 聊天室
	CType      uint           `gorm:"column:c_type;type:tinyint(1);comment:1 文字 2 图片 3 视频;not null;" json:"c_type"`  // 1 文字 2 图片 3 视频
	Content    string         `gorm:"column:content;type:varchar(200);comment:内容;not null;" json:"content"`          // 内容
	CreateAt   time.Time      `gorm:"column:create_at;type:datetime(3);not null;default:CURRENT_TIMESTAMP(3);" json:"create_at"`
	UpdateAt   time.Time      `gorm:"column:update_at;type:datetime(3);not null;default:CURRENT_TIMESTAMP(3);" json:"update_at"`
	DeleteAt   gorm.DeletedAt `gorm:"column:delete_at;type:datetime(3);default:NULL;" json:"delete_at"`
}

func (u *Customer) TableName() string {
	return "customer"
}
